package com.atguigu.senior.dao;

import com.atguigu.senior.pojo.Employee;

import java.util.List;

/**
 * EmployeeDao 这个类对应的是t_emp这张表的增删改查的操作
 * 定义成接口是为了以后使用不同数据库的时候，可以自由切换实现类
 */
public interface EmployeeDao {
    /**
     * 数据库对应的查询所有员工信息的操作
     *
     * @return 表中所有的数据
     */
    List<Employee> selectAll();

    /**
     * 数据库对应的根据empId查询指定员工的信息的操作
     *
     * @param empId 主键Id
     * @return 一个员工对象(一行数据)
     */
    Employee selectByEmpId(Integer empId);

    /**
     * 新增一个员工的信息
     *
     * @param employee 要添加的员工对象
     * @return 受影响行数
     */
    int insert(Employee employee);

    /**
     * 修改一个员工的信息
     *
     * @param employee 要更新的员工对象
     * @return 受影响行数
     */
    int update(Employee employee);

    /**
     * 删除指定的员工信息
     *
     * @param empId 主键Id
     * @return 受影响行数
     */
    int delete(Integer empId);

    /**
     * 批量删除员工的信息
     *
     * @param empIds 主键Id数组
     * @return 受影响行数
     */
    int deleteBatch(Integer[] empIds);


}
